/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

/**
 *
 
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.util.Vector;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;



public class conexionBd {

    // La descripcion del driver de la BD
    private static String driver = "org.postgresql.Driver";
    // La direccion URL de la BD
    private static String url = "jdbc:postgresql://localhost:5432/";
    // El nombre de la BD
    private static String bd = "BD4-1";
    // EL login del usuario para conectarse al servidor de BD
    private static String usuario = "postgres";
    // EL password del usuario para conectarse al servidor de BD
    private static String password = "postgres";


    private static Connection conexion;
    public conexionBd()
    {
    	getConexion();
    }


	/**
     * Metodo utilizado para Obtener una conexion a BD
     * @return Un objeto tipo Connection que representa una conexion a la BD
     */
    public void getConexion() {
    	try{
    		if (conexion == null || conexion.isClosed()) {
	        	// Cargo el driver en memoria
	            Class.forName(driver);
	            // Establezco la conexion
	            conexion=DriverManager.getConnection(url+bd,usuario,password);
	        }
    	}
        catch(SQLException e){
        	e.printStackTrace();
        }
        catch (ClassNotFoundException e) {
        	e.printStackTrace();
		}
    }

    /** * Metodo consultar
     * @param String tiraSQL
     * @return ResultSet
     */
    public void ejecutar(String sql)
    {
       try
        {

        Statement st = conexion.createStatement();
        st.execute(sql);
       }
       catch (Exception e)
       {
           JOptionPane.showMessageDialog(null, e);
       }
    }
    public Vector<String> getLista(String sql)
    {
        ResultSet rs;
        Vector<String> arreglo= new Vector();
        try
        {
            rs=consulta(sql);
            while (rs.next())
            {
                arreglo.add(""+rs.getObject(1));
                System.out.println("aaa"+rs.getObject(1));
            }
        }
        catch(Exception e)
        {
           JOptionPane.showMessageDialog(null, e);

            return null;
        }
        return arreglo;

    }
public JComboBox getCombo(String sql)
    {
        JComboBox combo1 = new  JComboBox();
        ResultSet rs;
        try
        {
            rs=consulta(sql);
            while (rs.next())
            {
                combo1.addItem(""+rs.getObject(1));
            }
        }
        catch(Exception e)
        {
           JOptionPane.showMessageDialog(null, e);

            return null;
        }
        return combo1;

    }

    public ResultSet consulta(String sql)
    {
        ResultSet rs;
        try
        {
            Statement st = conexion.createStatement();
            rs= st.executeQuery(sql);
            return rs;

        }
        catch(Exception e)
        {
        System.out.println(sql);

            JOptionPane.showMessageDialog(null, e);

            return null;
        }
    }

}
